package com.ll.core.util;

import java.io.InputStream;
import java.io.InputStreamReader;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class JSONTool {
	private static Gson gson = new Gson();
	/**
	 * 将对象转换为json
	 * @param obj
	 * @return
	 */
	public static String ObjectToJSON(Object obj) {
		String result = null;
		result = gson.toJson(obj);
		return result;
	}
	/**
	 * 将对象转换为JSON
	 * @param json json 字符串
	 * @param tt 类型
	 * @return
	 */
	public static Object stringToObject(String json, TypeToken tt) {
		if(json == null){
			return null;
		}
		return gson.fromJson(json, tt.getType());
	}
	
	/**
	 * 将流转换为JSON
	 * @param json json 字符串
	 * @param tt 类型
	 * @return
	 */
	public static Object streamToObject(InputStream ins, TypeToken tt) {
		if(ins == null){
			return null;
		}
		return gson.fromJson(new InputStreamReader(ins), tt.getType());
	}

}
